The transformational derivation of parallel programs using data distribution algebras and skeletons

نویسنده

  • Mario Südholt
چکیده

The transformational derivation of parallel programs for distributed-memory architectures using skeleton-based approaches is one of the most promising methods for parallel program development. These approaches support the derivation of provably correct, eecient and portable parallel programs using a predeened set of encapsulated eeciently implemented parallel base algorithms. Encapsulation requires that compositions of skeletons are explicitly deened by means of transformations. More exible approaches which enable the compositional development of parallel programs | that is, without reliance on ad hoc transformations | are, however, often advantageous. The research presented in this dissertation tackles this problem by introducing overlapping data structures, called covers, as a concept for the explicit but still high-level speciication of the spatial aspects of parallel programs. Covers consist of overlapping substructures that explicitly represent the data distribution of data elements and domains of elements which can be communicated. Their semantics is deened algebraically on the basis of an abstract notion of data structures, and concrete covers can be deened using the concept of views providing multiple concrete representations of a data type. Together with a set of high-level operators, which can be used to deene compositionally complex covers, they form data-distribution algebras. Parallel algorithms are expressed using skeletons parameterized with covers. Thus, communication can be made explicit through the accesses of skeletons to the overlapping parts of covers. In this dissertation, three semantic models for the treatment of such accesses are discussed. The skeleton definitions commonly used in a functional setting can be adapted to skeletons parameterized with covers. Generalizing this purely functional skeletons, a model interpreting accesses to the overlapping parts as implicit speciications of data dependencies is deened. Their semantics can be deened by elimination transformations into purely functional skeletons. The most general model allows arbitrary accesses to the overlapping parts, provided that data consistency is ensured. A sheaf-theoretic semantics allows properties about skeletons to be derived in this case. Another focus of the research work reported here, is the integration of views, covers and skeletons into a transformational development method for parallel programs. The use of views for program development is promoted by so-called neighbourhood relations, a notion of adequacy of views w.r.t. the constructive data-driven formulation of algorithms. Cover operators have an intuitive interpretation with regard to their eeect on the parallel behaviour of skeletons deened on constructed covers. Implicit dependencies are shown to be an important tool for the derivation of parallel programs. …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Solving large systems of differential equations in parallel using covers and skeletons

The design and implementation of parallel algorithms for distributed memory architectures is much harder than the development of sequential algorithms. This is mainly due to the communication and synchronization that is necessary to manage distributed data correctly. This paper applies a methodology for the transformational derivation of parallel programs using data distribution algebras that e...

متن کامل

Forschungsberichte Des Fachbereichs Informatik Deriving Parallel Numerical Algorithms Using Data Distribution Algebras: Wang's Algorithm Deriving Parallel Numerical Algorithms Using Data Distribution Algebras: Wang's Algorithm

Parallel and distributed programming are much more diicult than the development of sequential algorithms due to data distribution issues and communication requirements. This paper presents a methodology that enables the abstract description of the distribution of data structures by means of overlapping covers that form data distribution algebras. Algorithms are formulated and derived by transfo...

متن کامل

Parallel Genetic Algorithm Using Algorithmic Skeleton

Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...

متن کامل

Parallel Genetic Algorithm Using Algorithmic Skeleton

Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...

متن کامل

Data Distribution Algebras - A Formal Basis for Programming Using Skeletons

Today there is no programming model or language support which ooers a uniform programming methodology on a wide variety of parallel architectures. In this paper functional languages are proposed as such a methodology using an extension of the concept of skeletons | higher-order functions coupled with parallel implementation templates. An essential part of the proposed methodology is the use of ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997